function densidad = armoDensidad_nd(X,Z,sigma)

%Z matriz nroDatos x 2
%X e Y dan la abcisa y la ordenada de los puntos de la grilla con la conv del matu
%sigma varianza de la interp

nroDatos = length(Z(:,1));
dim=size(X,2);


densidad = zeros(size(X{1}));
%textprogressbar('computing density: ');
for i = 1:nroDatos
%   textprogressbar(100*i/nroDatos);
   suma=0;
   for j=1:dim
        suma = suma + (Z(i,j) - X{j}).^2;
   end

   densidad = densidad + exp(-suma/(sigma^2));
   %densidad = densidad + exp(-((Z(i,1) - X).^2 + (Z(i,2) - Y).^2)/(sigma^2));
end
%textprogressbar('done');

%Normalizacion
%densidad(:)
norma=sum(densidad(:));
paso = abs(X{1}(1,1) - X{1}(2,1));
for j=1:dim
    norma=norma*paso;
end
%pasoX = abs(X(1,1) - X(1,2));
%pasoY = abs(Y(1,1) - Y(2,1));

densidad = densidad/norma;

end
